% write_spill_to_file.m
% (版本 18: 已更新为接收一个 spill_log 元胞数组)
function write_spill_to_file(filename, spill_log)
    fid = fopen(filename, 'w');
    if fid == -1
        error('错误: 无法写入SPILL文件: %s', filename);
    end
    
    if isempty(spill_log)
        fclose(fid);
        return;
    end
    
    % 遍历日志中的每一个spill事件
    for i = 1:length(spill_log)
        entry = spill_log{i};
        buf_id = entry{1};
        offset = entry{2};
        
        if i > 1
            fprintf(fid, '\n');
        end
        % 按 "BufId:NewOffset" 格式写入文件
        fprintf(fid, '%d:%d', buf_id, offset);
    end
    fclose(fid);
end